import  {request}  from "@/utils/http";
import { Key } from "react";

import type {
   getHosSetListReturnType, 
   getHosSetListParamsType,
   addHospitalParamType,
   getHosSetListItemsType,
   updateHospitalParamsType
} 
   from './model/userType'; 
   //这个get请求第三个参数是data  data写到params下面
   //{
         //第二个参数是params系统定义的 是你传的参数 因为api接口文档 hosname  是query参数所以写第二个
//       params:{
//          hosname,
//          hoscode
//      }
// })


   //<any,getHosSetListReturnType> 这是泛型 第一个参数是any 第二个参数是返回值类型
   //医院设置中 获取分页列表 
   //{page,limit,hosname,hoscode} 将来传对象进来直接结构 
  export  const getHosSetListRequest =({page,limit,hosname,hoscode}:getHosSetListParamsType)=>{
    return request.get<any,getHosSetListReturnType>(`/admin/hosp/hospitalSet/${page}/${limit}`,{
        params:{
            hosname,
            hoscode
        }
   })
}

//医院设置中,新增医院请求  参数是body它是对象 写个data到时候直接传就号了 这个参数随便写的 data是接口返回的东西
export const addHospitalRequest = (data:addHospitalParamType) => {
   return request.post<any,null>("/admin/hosp/hospitalSet/save",data
)
}

//医院设置中 根据id获取某个详细的医院设置
export const getHosSetFromIdRequest = (id:string) => {
   return request.get<any, getHosSetListItemsType>(`/admin/hosp/hospitalSet/get/${id}`)
}

//修改api时候是根据id的 删了则一直请求失败
//医院设置中 根据id修改数据后,再次提交修改
export const updateHosSetFromIdRequest =(data:updateHospitalParamsType) => {
return request.put<any,null>("/admin/hosp/hospitalSet/update",data)
}

//医院设置中 根据id删除某条数据 是发送请求告诉服务器删除该id 是path参数
export const deleteHosSetFromIdRequest = (id:number) => {
   return request.delete<any,null>(`/admin/hosp/hospitalSet/remove/${id}`)
}

//医院设置中 批量删除数据 他要的是body 第二个参数是配置对象就是data
export const batchDeleteHosRequest = (ids:Key[]) => {
   return request.delete<any,null>(`/admin/hosp/hospitalSet/batchRemove`,{
      data:ids
   })
}
